Formeleditor
Im Beitrag Formelberechnung habe ich bereits gezeigt, wie man eigene Formeln verwenden kann. Für eine Anwendung wäre es jedoch schön, wenn der Anwender selbst Formeln erstellen könnte und zwar mit vorgegebenen Feldern und Operationen.
Dies ist möglich mit dem Formeleditor. Gleichzeitig wird hier für die Prüfung und Evaluierung der Formeln keine Funktionsbausteine mehr verwendet, sondern Klassen. Aber der Reihe nach…
Formeleditor
Der Formeleditor wird durch den Funktionsbaustein FOBU_DIALOG_START aufgerufen. Die Verwendung wird in mehreren Beispielprogrammen gut demonstriert (siehe unten).
In einem Eingabefeld kann man die Formel entweder direkt eingeben (Expertenmodus) oder man kann die einzelnen Komponenten per Drag and Drop oder Doppelklick einfügen.
Die Elemente des Editors lassen sich gezielt steuern. In den Beispielprogrammen wird ersichtlich, was wie verwendet werden kann.
Einige Formeln lassen sich mit einer Hilfefunktion einfügen (Kleines grünes PLUS-Icon rechts neben den Sortieren Buttons):
Klassen
CL_FOBU_FORMULA
Um mit dem Editor kommunizieren zu können, wird diese Klasse benötigt.
CL_FOEV_FORMULA
Diese Klasse wird verwendet, um die Formeln zu speichern, zu laden, zu prüfen und auszuwerten.
CL_FOBU_CONNECTOR
Sobald eigene Felder verwendet werden sollen, müssen diese mithilfe der Klasse definiert und bekannt gemacht werden. Für jedes Feld kann ein eigenes Icon definiert werden:
Demoprogramme
Programm | Bezeichnung |
---|---|
SFBE_EXAMPLE1 | Beispielprogramme FoBuEv: Einfachst-Aufruf |
SFBE_EXAMPLE2 | Beispielprogramme FoBuEv: Aufruf mit eigenen Feldern |
SFBE_EXAMPLE3 | Beisp.Prog FoBuEv: Aufruf mitTypprüfung, eigenem GUI-Status und TraceDer Trace wird im Menü eingeschaltet! |
SFBE_EXAMPLE4 | Beisp.Prog FoBuEv: Aufruf mit eigenen Funktionen |
SFBE_EXAMPLE5 | Beisp.Prog FoBuEv: Implementierung einer Methode per FoBuEv |
SFBE_EXAMPLE6 | Beisp.Prog FoBuEv: Aufruf mit eigenen Drucktasten und IF-Funktion |
SFBE_EXAMPLE8 | Beisp.Prog FoBuEv: Rechnen mit Währungsbeträgen, Mengen und Preisen |
RS_FOBU_METHOD_EXAMPLE | Beispielprogramm für Formula Builder Methoden |
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024